home *** CD-ROM | disk | FTP | other *** search
/ Just Call Me Internet / Just Call Me Internet.iso / prog / atari / m2 / cat3src / magic / d / mtbuffer.d < prev    next >
Text File  |  1997-10-26  |  3KB  |  69 lines

  1. (*----------------------------------------------------------------------*
  2.  *                                                                      *
  3.  *  MAGICTOOLS   Modula's  All purpose  GEM  Interface  Cadre  Toolbox  *
  4.  *               ÿ         ÿ            ÿ    ÿ          ÿ               *
  5.  *----------------------------------------------------------------------*
  6.  * Version 3.30  02.02.1992     (C)90/91/92 by Peter Hellinger Software *
  7.  *----------------------------------------------------------------------*
  8.  *            Dieses Modul ist urheberrechtlich geschtzt.              *
  9.  *                                                                      *
  10.  * Die Ver”ffentlichung des Quelltextes oder Teilen daraus, sowie die   *
  11.  * Verbreitung des bersetzten, nicht gelinkten Codes in schriftlicher, *
  12.  * oder maschinenlesbarer Form, insbesondere in Zeitschriften, Mail-    *
  13.  * boxen oder anderen Medien bedarf der ausdrcklichen schriftlichen    *
  14.  * Einverst„ndnisserkl„rung des Autors.                                 *
  15.  *                                                                      *
  16.  * Die Verbreitung des Moduls als Teil eines gelinkten Programms ist    *
  17.  * fr Lizenznehmer ausdrcklich erlaubt!  Der Autor beh„lt sich das    *
  18.  * Recht vor, diese Erlaubnis jederzeit und ohne Angaben von Grnden zu *
  19.  * widerrufen.                                                          *
  20.  *----------------------------------------------------------------------*)
  21.  
  22. (*----------------------------------------------------------------------*
  23.  * mtBuffer     einfache Pufferverwaltung                               *
  24.  * Implementiert eine Struktur nach dem FIFO-Prinzip (First In First    *
  25.  * Out) auch als Puffer oder Schlange bekannt. Durch die typlose Daten- *
  26.  * form der zu speichernden Information kann das Modul sehr flexibel    *
  27.  * eingesetzt werden.  Maximale Speichergr”že der Information ist 32kb. *
  28.  *----------------------------------------------------------------------*)
  29.  
  30. DEFINITION MODULE mtBuffer;
  31.  
  32. FROM MagicSys   IMPORT  Nil, Null, Bit0, Bit1, Bit2, Bit3, Bit4, Bit5, Bit6,
  33.                         Bit7, Bit8, Bit9, Bit10, Bit11, Bit12, Bit13, Bit14,
  34.                         Bit15, LOC, Byte, ByteSet, sWORD, sINTEGER, sCARDINAL,
  35.                         sBITSET, lINTEGER, lCARDINAL, lWORD, lBITSET;
  36.  
  37.  
  38.  
  39.  
  40.  
  41. TYPE    BUFFER;
  42.  
  43. PROCEDURE NewBuffer (VAR buffer: BUFFER): BOOLEAN;
  44. (* Generiert einen neuen Buffer *)
  45.  
  46. PROCEDURE DisposeBuffer (VAR buffer: BUFFER);
  47. (* L”scht einen Buffer, wenn der Buffer nicht leer ist, wird er vorher
  48.  * gel”scht
  49.  *)
  50.  
  51. PROCEDURE BufferEmpty (buffer: BUFFER): BOOLEAN;
  52. (* TRUE, wenn der Buffer leer ist *)
  53.  
  54. PROCEDURE BufferEntries (buffer: BUFFER): lCARDINAL;
  55. (* Anzahl der Eintr„ge in den Puffer *)
  56.  
  57. PROCEDURE Put (buffer: BUFFER; info: ARRAY OF LOC): BOOLEAN;
  58. (* Legt ein Element im buffer ab, FALSE wenn dabei ein Fehler auftritt *)
  59.  
  60. PROCEDURE Get (buffer: BUFFER; VAR info: ARRAY OF LOC): BOOLEAN;
  61. (* Holt ein Element aus dem Puffer. Es wird nur kopiert, wenn die
  62.  * Datenstruktur gleich oder gr”žer als die gespeicherte Struktur ist.
  63.  * FALSE wenn dabei ein Fehler auftritt (info zu klein, buffer leer).
  64.  * Das Element wird dabei aus dem Buffer entfernt.
  65.  *)
  66.  
  67. END mtBuffer.
  68.  
  69.